package com.leonzhangxf.ioc;

import java.util.List;
import java.util.Set;

/**
 * @author leonzhangxf
 */
public interface BeanDefinition {

    /**
     * Get the bean definition id.
     *
     * @return id.
     */
    String getId();

    /**
     * Get the bean definition type.
     *
     * @return bean type.
     */
    Class<?> getType();

    /**
     * Get the bean definition interfaces.
     *
     * @return interfaces.
     */
    Set<Class<?>> getInterfaces();

    /**
     * Get the dependencies of bean.
     *
     * @return bean.
     */
    Set<Dependency> getDependencies();
}
